var a = 1;
function fn(m) { console.log('fn'); }
function fn(m) { console.log('new_fn'); }
function a() { console.log('fn_a'); }
// console.log(a);
fn(1);
var fn = 'var_fn';
// console.log(fn);

// a  = 1
// fn(1) new_fn 获取所有用function进行的函数声明，函数名为变量对象的属性名，值为函数对象,如果属性已经存在，值会用新值覆盖
//  var_fn  如果变量名已经存在，则会跳过，并不会修改原属性值,let声明的变量并不会在此阶段进行处理



var globalEC = {
    VO: {
        ...arguments,
        a: () => { console.log('fn_a'); },
        fn: () => { console.log('new_fn'); }
    }
}
var ECStack = [globalEC];
//执行阶段
globalEC.VO.a = 1;
console.log(globalEC.VO.a);
globalEC.VO.fn();
globalEC.VO.fn = 'var_fn';
console.log(globalEC.VO.fn);

function one(m) {
    debugger
    function two() {
        console.log('two');
    }
}
one(1);
